package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel("库存盘点详情")
@TableName("inv_inventory_check")
public class InvInventoryCheck extends AbdulBaseEntity {
    @ApiModelProperty("主键ID")
    private Long id;

    @ApiModelProperty("商品类别")
    @Excel(name = "商品类别")
    private String category;

    @ApiModelProperty("关联工单ID")
    private Long workOrderId;

    @ApiModelProperty("商品分类")
    @Excel(name = "商品分类")
    private String classification;

    @ApiModelProperty("商品名称")
    @Excel(name = "商品名称")
    private String productName;

    @ApiModelProperty("商品条码")
    @Excel(name = "商品条码")
    private String barcode;

    @ApiModelProperty("单位")
    @Excel(name = "单位")
    private String unit;

    @ApiModelProperty("规格")
    @Excel(name = "规格")
    private String specification;

    @ApiModelProperty("库存单价")
    @Excel(name = "库存单价")
    private BigDecimal inventoryPrice;

    @ApiModelProperty("期初库存")
    @Excel(name = "期初库存")
    private Integer initialStock;

    @ApiModelProperty("盘点数量")
    @Excel(name = "盘点数量")
    private Integer checkedQuantity;

    @ApiModelProperty("期间变动")
    @Excel(name = "期间变动")
    private Integer periodChange;

    @ApiModelProperty("盈亏数量")
    @Excel(name = "盈亏数量")
    private Integer inventoryVariance;

    @ApiModelProperty("盈亏金额")
    @Excel(name = "盈亏金额")
    private BigDecimal varianceValue;

    @ApiModelProperty("联系电话")
    private String phone;

    @ApiModelProperty(value = "商品库中商品id")
    private Long productManagementId;

    //DTO
    @ApiModelProperty(value = "盘点单号")
    @Excel(name = "盘点单号")
    @TableField(exist = false)
    private String inventoryNumber;
}
